Revert "Removed unnecessary try/catch from isInstanceOf"

This reverts commit 58ee52ad4a0ebf51f9add9b99188968268ed6f8e.

As it turns out, IE9 allows use of instanceof with special object types, not
just functions. One such example is HTMLElement; its type is `object', whereas
in Firefox and Chromium it is `function'. There is no reliable way to perform
this detection.

Therefore, the try/catch here is more reliable.
Named trait staging object

The syntax Trait( "Name" ) now works as Class( "Name" ), permitting
implementing interfaces and extending from the staged object.
Trait named staging object

This implements Trait("Foo"), analogous to Class("Foo"). This was intended
to have existed in the 0.2.0 release, but was overlooked.
Version bump 0.2.2-dev

Whoops! Meant to do this a lot sooner.
Added isCompatible method to interfaces

There is a great amount of rationale in the test case added in this commit.
ClassBuilder.isInstanceOf now defers to type

This allows separation of concerns and makes the type system extensible. If
the type does not implement the necessary API, it falls back to using
instanceof.
Overriding vanilla prototype methods no longer errors

This is something that I've been aware of for quite some time, but never got
around to fixing; ease.js had stalled until it was revitalized by becoming a
GNU project.
Prototype supertype property proxy fix

This was a nasty bug that I discovered when working on a project at work
probably over a year ago. I had worked around it, but ease.js was largely
stalled at the time; with it revitalized by GNU, it's finally getting fixed.

See test case comments for more information.
Test case to protect agaist retval regressions when extending prototypes
Class#asPrototype support

This is an interop feature: allows using ease.js classes as part of a
prototype chain.
Began work on interop chapter of manual