Derive macros for the stdweb crate

This crate currently defines a derive macro for [stdweb] which allows you to define custom reference types outside of stdweb.

For example:

```rust

[derive(Clone, Debug, PartialEq, Eq, ReferenceType)]

[reference(instance_of = "Error")]

pub struct Error( Reference );

[derive(Clone, Debug, PartialEq, Eq, ReferenceType)]

[reference(instance_of = "TypeError")]

[reference(subclass_of(Error))]

pub struct TypeError( Reference ); ```

And then you can do:

``rust // You can usetryintoto cast aValue` to your type. let error: TypeError = js!( return new TypeError(); ).tryinto().unwrap();

// You can also pass your type freely into the js! macro: js!( console.log( @{error} ); ); ```