AndroidApplication and AndroidGraphics classes refactoring

This refactoring doesn't change the API and makes good code reuse improving maintenance.
I've tried to make small incremental commits to make your review easier.

Relevant changes:
- Now ALL AndroidApplication* classes implement the AndroidApplicationBase interface
- Each AndroidApplication* class uses a lifecycle listener (if needed) specialized for audio management.
- AndroidGraphics is now used as-is by activity, fragment and daydream applications.
- AndroidLiveWallpaper has its own extension of AndroidGraphics. Since the original AndroidLiveWallpaper is a bit nasty, I've preferred to grab and override main methods of the superclass AndroidGraphics so to minimize the impact and avoid breaking existing stuff.