Rs2Js: Rust to JsValue and back again

Usage

```rust

[derive(Rs2Js, Debug, Clone, PartialEq)]

pub struct DbProject { pub name: String, pub ownerid: String, pub created: Timestamp, } fn main() { let proj = DbProject { .. }; let value = proj.tojs(); // JsValue } ```

Motivation

This mostly exists because serde-wasm-bindgen currently doesn't support passing through JsValues (see this issue).