Use a TreeMap in JsonObject instead of HashMap.

We have a bunch of tests that were relying on the arbitrary iteration ordering
of HashMap, which changed from JDK7 to JDK8. So rather than take the pain of
rewriting all those tests to compare maps properly, I'm just switching to a
TreeMap inside JsonObject and fixing the couple of tests that didn't happen to
already be in sorted order.
We have to set sourceLevel for GWT unit tests.

Otherwise it infers 1.8 when running in a 1.8 JVM, which is not supported.
Whee!
Don't unpack natives for headless operation.

This allows playn to be used in a server environment with the lwjgl native dependencies excluded.
Refined iOS lifecycle handling.

iOS has two different things going on, which we were previously not mapping
properly onto the PlayN lifecycle. An iOS app can "resign activation" and then
"resume activation", which it does when interrupted by a phone call, or as it
turns out, when the user goes to make an IAP. In this case, the app needs to
slow down to let the user decide whether or not to take the call, but the app
is not yet being backgrounded, and may not if the user decides not to take the
call. So we just pause the renderer in those cases (per iOS recommendations)
but leave the app "running" as it were.

If the user takes the call, or if they switch to another app, then the app is
"backgrounded" which is the moral equivalent of PlayN's "paused". So then we
tell the app that it's being paused, and when it is "foregrounded" we tell it
it is being resumed.

This means that an app will no longer get an onResume call immediately after
starting up, but I think that's more sensible as I'm pretty sure none of the
other platforms do that either.
Some new methods for inspecting layers.
Fix multi-line text in pointer test.
Undo whitespace change.
Fixed issues in iOS audio interruption handling

-OpenAL interruption event handlers were not being called since
AudioSession was not initialized
-AVAudioPlayer sounds updated to listen to interruption events while
playing, and resume themselves when the interruption is ended (as
recommended by Apple implementation guidelines)
Move the emulated touch listener up into the platform.

This is better in case we want to use the assign other keys to different things.

Also renamed the member to pivotKey.
Provide optional emulation of iOS activation.

This will speed up the test cycle for activation. Of course, full device testing is still needed
once the java version is debugged.
Fixed Android network mishandling null payload entities

When determining the payload strings from a successful HTTP request,
the previous implementation of AndroidNet would throw an
IllegalArgumentException and fail the request if the response entity is
null, such as in the case of a 204 status code.  Updated implementation
handles null response entities by invoking success on the callback with
the appropriate status code and null for the payload methods.
Format tweaking.

PlayN uses two character indents.
Surface fillTriangles methods that render slices.

Courtesy of ruslansennov, with various revampings by yours truly.

These are a little complicated. You can pass in a slice of a vertices array and
you can pass in a slice of an indices array. However, the indices array is
supposed to provide indices into the xys array, so the question is: do they
provide indices into the slice, or indices into the whole array?

Because I can imagine use cases for either choice, this is left up to the
caller as well, so you have to specify an indicesBase which would be zero if
your indices are relative to the slice, or xysOffset/2 if your indices are
based on the unsliced array.

Closes #31.
Nixed some comment cruft.
Fix relative path.

Without overriding the default .., maven 3.2.1 generates a ton of warnings.
Move eclipse_format.xml into etc/.

How did I not notice this lingering at the top level for years? Hiding in plain
sight!
Use standard webgl context in the first place.

This patch fixes error in Firefox:
"Error: WebGL: Retrieving a WebGL context from a canvas via a request id
('webgl') different from the id used to create the context
('experimental-webgl') is not allowed."