Headless

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.