Teach PooledSound how to preload.

The dirty work doesn't happen until you ACTUALLY play it,
so just do that muted at a low priority if requested.
Don't build new strings when parsing numbers from JSON.

Gave a measurable performance win in my not-so-scientific
benchmark, but JSON parsing is still so mind-numbingly slow
there has to be some pretty juicy low-hanging fruit.
This reduces text measurement suck.

It doesn't eliminate it, and the text measurement is often wildly off even in a
Canvas with no scaling. I don't see how anything gets rendered in a civilized
way on Android. It's a state of nature in there.
Gradient support for fillText.
clear() -> removeAll().
Added a gradient filled text test.
Bitmap contexts & data must be manually freed.

I'm also a little concerned that this allocates a buffer that's the size of the
entire canvas, regardless of the size of the text being rendered into it. While
this avoids any pesky edge cases with text rendering outside its bounding box,
it is a pretty big hammer with which to solve that problem. If someone was
rendering 100x15 text into a 640x480 canvas, we're creating a 640x480 canvas to
use as the mask.

Anyway, I'll leave this as is until someone reports a performance bug and worry
about it then.
Simple multitouch emulation.

Press F11 to set the pivot point.
Make the pivot key configurable.
Events.Util conversion methods.
Fixed earlier stale framebuffer fix.

If we note the framebuffer in createFramebuffer(), that hoses
pushFramebuffer(). So instead we just document that you have to follow
createFramebuffer() with a call to pushFramebuffer() or bindFramebuffer(), and
follow those rules in SurfaceGL.
Add getBytes() and getBytesSync() to assets to get arbitrary binary data.

The caller is then responsible for interpreting said data.

This includes implementations for Java, Android, and iOS platforms.
Need to update to monotouch-maven-plugin 1.1
Fix for orientation briefly during load.

Using the default was causing a flicker if the status bar was in the opposite position.
Prepare for release of version 1.7.7.
Back to SNAPSHOTs.

Revert "Prepare for release of version 1.7.7."

This reverts commit b08905b0801ae5e3f1dc030e0f8e961a03f130fa.
Harden against crash when generating stack trace.

In some cases, I'm seeing IKVM and MonoTouch's AOT compiler get into a shouting
match when trying to generate a stack trace. This ends up looking like:

<Warning>: Unhandled managed exception: Default constructor not found for type IKVM.NativeCode.sun.reflect.State (System.MissingMethodException)
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
at System.Activator.CreateInstance[State] () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.ConditionalWeakTable`2[System.Reflection.MethodBase,IKVM.NativeCode.sun.reflect.State].<GetOrCreateValue>m__1C (System.Reflection.MethodBase k) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.ConditionalWeakTable`2[System.Reflection.MethodBase,IKVM.NativeCode.sun.reflect.State].GetValue (System.Reflection.MethodBase key, System.Runtime.CompilerServices.CreateValueCallback createValueCallback) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.ConditionalWeakTable`2[System.Reflection.MethodBase,IKVM.NativeCode.sun.reflect.State].GetOrCreateValue (System.Reflection.MethodBase key) [0x00000] in <filename unknown>:0
at IKVM.NativeCode.sun.reflect.Reflection.IsHideFromJava (System.Reflection.MethodBase mb) [0x00000] in <filename unknown>:0
at IKVM.Internal.ExceptionHelper.IsHideFromJava (System.Reflection.MethodBase mb) [0x00000] in <filename unknown>:0
at IKVM.Internal.ExceptionHelper+ExceptionInfoHelper.Append (System.Collections.Generic.List`1 stackTrace, System.Diagnostics.StackTrace st, Int32 skip, Boolean isLast) [0x00000] in <filename unknown>:0
at IKVM.Internal.ExceptionHelper+ExceptionInfoHelper.get_StackTrace (System.Exception t) [0x00000] in <filename unknown>:0
at IKVM.Internal.ExceptionHelper.getStackTrace (System.Exception x) [0x00000] in <filename unknown>:0
at java.lang.Throwable.instancehelper_getStackTrace (System.Exception this) [0x00000] in <filename unknown>:0
at IKVM.Internal.ExceptionHelper.BuildStackTrace (System.Exception x) [0x00000] in <filename unknown>:0
at IKVM.Internal.ExceptionHelper.printStackTrace (System.Exception x, java.io.PrintWriter printWriter) [0x00000] in <filename unknown>:0
at java.lang.Throwable.instancehelper_printStackTrace (System.Exception this, java.io.PrintWriter s) [0x00000] in <filename unknown>:0
...

which is an unhandled exception, and the app then crashes.

I'll try to fix the root cause, but I don't want any future disagreements to
result in unexpected crashery.
Fixing pixelated artifacts around the edges of outlined text in Java 7.

This is caused by a combination of the way we draw a pixel outline and the overlapping of the edges of antialiased text in Java 7 (seems fine in Java 6). Pushing the outline drawing down into platform specific classes so that the antialiasing can be toggled for Java.
Making sure all of the TextLayouts implement the new outline() method.

All of the TextLayout implementations are now extending AbstractTextLayout. Moved the bits that are specific to Java and iOS into "PaddedTextLayout".
Formatting.