Support building SpacePen wrappers around existing DOM nodes

In order to keep the existing SpacePen API in a deprecated form while migrating off of jQuery in core, we need a way to wrap custom elements in SpacePen rather than having the view generate its own content. This PR adds the ability to pre-assign the `::element` property to a DOM node in the constructor before calling `super`, in which case the view will wrap the existing node rather than generating its own content. All of the permanent view logic can then be moved into the custom element, leaving the SpacePen view as a shim.