Remove debugging log message.
Rudimentary support for `{ includes: prototype }`.

The `includes` directive may used as an alternative to `extends` to
work around certain cases where nodes don't inherit correctly from a
prototype.

Notes:

  - Only supports one level, so `{ includes: prototype }` won't work if the
    prototype also contains a `includes` directive).
  - Only works with prototype URIs, so `{ includes: { ... descriptor ... } }`
    won't work.
  - Loads the prototype on each reference, so unlike real prototypes, multiple
    references to the same prototype cause multiple network loads.

  - Doesn't merge children from the prototype with like-named children in the node.
  - Doesn't merge property setters and getters from the prototype when the node provides
    an initializing value.
  - Methods from the prototype descriptor are lost with no way to invoke them if the node
    overrides them.
  - Scripts from both the prototype and the node are retained, but if both define an
    `initialize` function, the node's `initialize` will overwrite `initialize` in
    the prototype.
  - The prototype doesn't carry its location with it, so relative paths will load with
    respect to the location of the node.

Closes #1753.