Refactor `model/javascript` accessors

Refactor `model/javascript` to create accessors for the `node.properties`, `node.methods`, and `node.events` members using the new `createPropertyAccessor`, `createMethodAccessor`, and `createEventAccessor` functions. These functions can create accessors in the styles needed for the actual node, the behavior proxies, and the future proxy.

This is a predecessor to `branch/kernel-listeners`, which needs to change the event accessors to work with kernel-managed listeners, `branch/node-references`, which needs to remap the values passing in and out of each accessor, and `branch/collection-events`, which needs to create additional event-like accessors on `node.children`, `node.properties`, `node.methods`, and `node.events`.

@eric79, please review.
In principle. But since this is a refactor of existing functionality, and since the `==` isn't ambiguous in this case, and since adding a new commit would complicate merging the other branches that depend on this one, I'm going to hold off on it.