Change internal data type from float to int16_t

Change internal data type from float to int16_t and cast accel data as int16_t for shift to work properly. The data read from the magnetometers/accelerometers is in two's complement integer format, not floating point, so it needs to be read into a signed integer instead of a float. Tested on an Arduino Due.