First draft of ranger.js.

This implements noConflict support and a normalizePosition helper. It also
implements BaseRange, which is the interface for the content-containing
roots of Range hierarchies, and StringRange, a BaseRange implementation
for editing strings. Only the basic editing methods are implemented.