>>it takes a surprising amount of energy to keep the cabin warm
Given that most (all?) electric cars have air conditioning, I'm a bit surprised that they're not all setup to use those as heat pumps. They're essentially the same thing - using a compressor to drive state change to move heat energy. The compressor's already there as are the inside and outside heat exchangers. Yes, you have to make them change roles (evaporator to/from condenser).