Remove Idle.enableIdleKeys().

The only place it is used, Idle.toIdle() is called directly afterwards, which does the same thing, but better.
Remove support for garthy's Media Control app.

Garthy built music controls into his watch firmware (based on 0.7.X). With 0.10.X firmware out, my guess is that nobody is using that firmware anymore, and we have no idea if the support is working at all (the button to open the app may well be overridden by MWM now).
(Minor) Remove an unnecessary 'synchronized'.
Use named constants for watch mode in calls to enableButton and disableButton (and fix one missed call to updateLcdDisplay).

App buttons are not included in this commit, since I have made other changes to those files... ;)
Refactor app framework and add a Music controls action.

This commit lays the groundwork for a more usable Application framework (but still needs work, especially for analog watches). Internal Apps can now be run "stand-alone" (I.E. without being an idle page). The normal "next page" button is an "exit" button for stand-alone apps and will return the watch to idle mode.

Using this, I added an action to the Actions app that opens music controls on top of it.

Also cleaned up a few bits of code here and there.
Change Notification buttons from immediate to press.

Without this, pressing dismiss on replayed notifications from the Actions app has a tendency to replay the notification again.
Add container actions, allowing for nestable actions.

* Make notification actions subitems to a new "Recent Notifications" container action, and increase notification history to 15 items.
* Make hold and long hold of middle (digital) or top (analog) go up one level (in addition to a "back" action at the top of the list).
Add a way to go to the top item in the Actions app.

Make long press on "next" button go to the top item instead of up one level in the Actions tree. More usable that way. :)
Make it possible to toggle apps as idle pages.

The Actions app now lists all apps that AppManager knows about (excluding itself and unsupported apps) that are not running as idle pages, making it possible to open these stand-alone.

Using a long press on the exit app/next idle page button on app pages (excluding the Actions app), the user can toggle apps between being an idle page and running stand-alone (which mode is indicated with either an X (stand-alone) or the classic next page (idle page) icon for the top right button).

Right now, although toggling the mode for the media player app is equivalent to changing the setting for enabling or disabling the media player app, the setting isn't changed (technically, the setting can be removed).
New setting: Use app buffer for clock-less widget pages.

A new setting for the digital watch that makes MWM use the application watch buffer for drawing widget pages that doesn't show the clock.

This has the useful benefit of always showing the clock and the watch's status icon when the connection is lost (the watch firmware returns to idle mode on lost connection). The drawback is that the idle mode buttons (settings, watch status etc.) doesn't work for the affected pages.

I made the setting default to true, since the clock is quite a central part of a watch. ;)
Merge pull request #27 from firetech/master

App framework refactoring and some cleanup etc.