how far can bmw i8 go on a charge