A school bus carrying more than 40 teenage students has crashed in Sydney's west, leaving the driver in a critical condition and several students injured.