Fixed a bug in JSON to String conversion for HTML platform.
Code provided by Ray Cromwell in https://groups.google.com/d/topic/playn/5dRbLkXkhJg/discussion
Made Layer setters fluent.

I can't stomach writing:

  FooLayer layer = createFooLayer();
  layer.setDepth(depth);
  parent.addAt(layer, x, y);

any longer when I could be writing:

  parent.addAt(createFooLayer().setDepth(depth), x, y);

Oh the rejoicing that will shortly be going on in my code.
Multitouch must be enabled on overlay now that it handles touches.
Preserve the current clip (if there is one) when drawing a subimage.
Cope with async loaded images.
Use latest iOS Maven plugin and OpenTK.
Support asynchronous image loading on iOS.

Activate thusly in your iOS bootstrap code:

  var pf = IOSPlatform.register(...);
  pf.assets().setAsyncImageLoading(true);

Games that have to support async image loading already (because they support
HTML5) can potentially benefit by offloading image loading and decoding to a
separate thread, so we allow them to do so.

I'm going to implement similar functionality for Java and Android, and also
make sound and text loading alwayas async, because the use casese there are
such that the vast majority of the time you don't care if things are loaded
asynchronously, rather than the other way around for images.
Load sounds and text asynchronously on iOS.
Revamped all audio loading to be async.

Introduced AbstractAudio which preserves audio state and instates it when the
audio is finally loaded.

So you can still do assets().getSound("foo").play() and it will play the sound,
even though the sound might not be loaded for a moment, and the loading will
happen on a background thread.

While I was in there, I made AndroidAudio stop maintaining a strong reference
to every sound asset ever loaded for the lifetime of the game. Instead sounds
register themselves with AndroidAudio when they're playing, and unregister
themselves when they're done. AndroidAudio then only onPause/onResume's playing
sounds (which are the only sounds that needed that treatment in the first
place).
Added a new case for a nested GroupLayer.Clipped's

It looks like the inner clip area overwrites the outer one.
Document lack of nestability of clipping regions.
Remove nested clipped's test, tweaked docs

Revert "Added a new case for a nested GroupLayer.Clipped's"

This reverts commit 877c3fdf0d433988b7c58afff5b06b1e5b5b2590.
Put the docs in the right place.
Great big async Assets revamp. Take note, Android/iOS users.

We now have:
- getImage       (always async)
- getImageSync   (always sync)
- getRemoteImage (always async)
- getSound       (always async)
- getText        (always async)
- getTextSync    (always sync)

There was no benefit to providing synchronous sound loading (you can do
everything with an async sound that you can with a sync sound), so I didn't
clutter the API with it.

Now if you want synchronous image/text loading, you have to explicitly use it,
and you can see in your code the places where you'll need to fix things if you
ever want to support an async-only platform like HTML5 or Flash.

Note that getImageSync and getTextSync throw UnsupportedOperation on
HTML5/Flash as they cannot be supported.
Wire up test execution, config source dirs more properly.
No need to log the exception stack trace here.
Load the missing image synchronously, improve assert error messages.

We need to load sync so that the error is logged while our log collector is in
place. Yay testing.
Merge pull request #9 from inder123/inder123/htmlstringfix

Fixed a bug in JSON to String conversion for HTML platform.
Show stack traces in ios
Added iPhone 5 splash screen to test app.

This causes the app to open at full size.