Navio: SPIUARTDriver for Ublox, AK8963_MPU9250 compass, PCA9685 OE pin enable

We reworked SPIUARTDriver and MPU9250-AK8963 compass according to the points of the previous discussion. 

To sum up what has been done:

I went over the classes together with Georgii, ‘virtual’ keywords were removed where they were unnecessary. 
The unnecessary cast in Scheduler has been removed.
Semaphore in SPI UART driver was fixed.
The big commit for AP_Compass has been split in small ones per library and per vehicle.
A couple of register writes are disabled in MPU9250 if AK8963 is selected, because they prevent AK8963 from working properly. Comments about that were added in the code.
Writes in SPI Ublox were changed to 0xFF instead of 0x00 when there’s no data to write.