Headless (new backend, mocked)

This is the headless desktop app configured as it's own backend, independent from Lwjgl.  Some of the code, like for files and net, is copied also exactly from Lwjgl.  This violates DRY but this code is not likely to be changed often, so I think it is OK.  Elements such as graphics, audio and input are mocked as much as possible so that libgdx apps designed without headless in Mind will work as headless apps with minimal reconfiguration.

Although this PR is in response to Issue #1164, it also has the benefit of cutting down the backend filesize. gdx-backend-headless.jar is only 26KB compared to lwjgl's 1.3MB.

I don't consider this ready to merge just yet, I think since it is a new backend it should have some good solid code review.  My only concern when creating this PR was what to return on some methods that return objects.  I tried to avoid returning null where possible, but in some cases it seemed like the best thing to do.

TODO:
1. remove HeadlessTest from lwjgl tests
2. maybe create headless test branch? I can think of at least one test in lwjgl tests that would be better as a headless test as well (Select test).  I don't know much about how tests are architectured.  I don't work with Eclipse much so if this needs to be done I might need help with it.
3. remove LwjglHeadlessApplication
4. update CHANGES

P.S. This backend is Nate-proof, there is no audio to disable in the first place.