use sensors (gyroscope, acceleration, compass) to get more accurate bearing, close #41