how far can bmw i8 drive