jni: add our shiny new jni library
jni: build jni library
jni: add libjnigraphics for native bitmap functions
jni: add a bunch of headers we'll need for jni
jni: inherit from CJNIContext

This turns CXBMCApp into a NativeActivity, meaning that we can call the same
functions that a normal android could call from its context.
jni: use new jni functions to setup our environment
jni: use new jni functions for audio control
jni: use new jni functions to query storage
jni: use new jni functions for getting external storage paths
jni: use new jni functions for querying launch intent
jni: use new jni functions for starting an activity
jni: use new jni functions for getting icons
jni: use new jni functions for listing applications
jni: use new jni functions for getting the battery level

Register for status changes, then update when we get one. This avoids polling.
jni: use new jni functions for controlling the wakelock
jni: simplify android_main

We no longer have to send this stuff to our jni handlers.

Also scope the objects we create so that they are explicitly destroyed before
we exit.
jni: cosmetics: indent after scoping CXBMCApp and CEventLoop
jni: show the intent action that started us
jni: fix headers
jni: remove old files