The v2 API begins! (see details)

Big changes:

* Add `V8_RET`, an alias for: `return scope.Close(...)`

* No more Get/StoreTemplate(), static fields are used.
  No more `__classname` present nor needed on macros.
  You can access the template on `_prot`.
  For this to work, `V8_POST_TYPE()` is *required* outside
  the class declaration.

* Shorter names for JS callback templates!

      V8_CALLBACK  -> V8_CB
      V8_GETTER    -> V8_GET
      V8_SETTER    -> V8_SET

  Also, the setter/getter templates now accept complete
  C++ identifiers, just like CALLBACK.

* The definition macros are affected as well:

      V8_DEF_METHOD-> V8_DEF_CB  (meaning "normal CallBack")
      V8_DEF_PROP  -> V8_DEF_ACC (meaning "both ACCessors: getter/setter")
      V8_DEF_RPROP -> V8_DEF_GET (meaning "only GETter")

  The macros now accept the V8_NAME as first argument, then the rest...
  Also, the last two macros now require the complete
  C++ identifier(s), just like `V8_DEF_CB`.

* Signature-only macros are now named by putting an
  "S" after the `V8_`. For example, the callback signature
  macro is `V8_SCB`, the setter is `V8_SSET`, and so on.

  These macros were previously named `V8_S_CALLBACK`, etc.

* No more `CL` macros, you must unwrap manually.
  `static` keyword needed for `V8_CB` and `V8_SCB` only.

* The constructor macro (`V8_CL_CTOR`) now renamed to `V8_CTOR`
  and a signature-only macro is provided: `V8_SCTOR`

* On a constructor, you must wrap the C++ object manually
  using the `V8_WRAP` macro. There's no longer an `inst` variable.
  The `this` handle is stored in `hdl` variable.

* Inside `NODE_TYPE` or `NODE_DEF_TYPE` new variables are provided:

    `templ` (previously named `prot`): contains the root template.
    `inst`: contains the instance template.
    `prot`: contains the prototype template.

* No more `V8_UNWRAP`, but `V8_TYPE` now offers a safer
  `Unwrap(...)` static function that will throw if the
  object passed is invalid. When not being wrapped, use
  `V8_M_UNWRAP()` or check manually.

* The `Str()` and `Symbol()` now accept an optional length
  as the second argument.

* Ensured all "statement" macros require a semicolon.

* No more automatic `return Undefined()`, you have to
  manually return a value (except on Setters).

* If `V8_DEF_TYPE` is used, `V8_DEF_TYPE_PRE` must be called before.

Smaller details:

* Type-definition methods now check if
  the template is already present.
* No more argument length checks.
* Reordered `catch` clauses on `V8_WRAP_END`.
Upgrade version.hpp and README to the new API