Make deprecated SpacePen view exports available as a library

This PR removes the following views from core and makes them available in the [atom-space-pen-views](https://github.com/atom/atom-space-pen-views) library on npm.

* TextEditorView
* ScrollView
* SelectListView

These views are now based on a new version of SpacePen that uses custom elements to provide attach/detach hooks instead of relying on patches to jQuery DOM manipulation in atom/atom, which will be going away. They should be able to be used pretty much exactly as the old views were, except that simulated DOM attachment won't trigger attach hooks.

For the time being we need to continue to export a version of these views that behaves exactly the same, including a [bunch of Atom-specific extensions](https://github.com/atom/atom/blob/master/src/space-pen-extensions.coffee) to SpacePen and jQuery that don't really belong in the extracted libraries. I've solved the problem by injecting Atom's extended version of SpacePen/jQuery into the prototype of these views when they are imported. I also needed to enable the jQuery-style attach hooks (rather than custom-element-based hooks) for the exported views.

### Tasks
* [x] Extract views from core
* [x] Extract CSS from core
* [ ] Get specs passing
* [ ] Document changes to SpacePen
* [ ] Write a readme for atom-space-pen-views npm

This section is a bit weird, but the only way I could find to preserve the exact same behavior for these three exported views during the deprecation period without completely duplicating code between atom/atom and atom-space-pen-views. I only want to apply the prototype injection to the views that I export, so I prevent require caching so that other packages and libraries will get the pristine version of these modules. This can all be flushed when we delete the deprecated APIs.