View hooks for native and non-jQuery libraries

This is a continuation of the discussion in #2959, and focuses on making View easier to extend by users wishing to use non-jQuery libraries. It's similar in plugability to `Backbone.ajax` or other overridable parts of Backbone.

Native Views and non-jQuery DOM libraries would be able to create a native View implementation by overriding `$`, `make`, `remove`, `setElement`, `delegate`, and `undelegateEvents` (see the [NativeView reference implementation](https://github.com/akre54/Backbone.NativeView)). This preserves the majority of the public contract of View (with the notable exception of `View#$` and `view.$el`), and the public interface of the constructor (including passing options), `delegateEvents`/`undelegateEvents`, `render`, `remove`, and `setElement` would be virtually unchanged. The PR also re-adds `View#make`.

The next step would be to remove Backbone.$() calls from History and perhaps extend `View#setElement` and `View#make` to use a common exposed `createElement` utility.