refactoring: remove utility methods from DirectionProvider
Rename DirectionProvider into OrientationProvider

Also check for presence or absence of such a sensor.
Add rotation sensor provider
Use the rotation provider instead of the orientation provider

If the rotation provider is not available, the orientation provider will
be used instead.