[REVIEW ONLY] Split View Refactoring

This is the refactoring effort to move Working Set API's and start deprecating some of the DocumentManager APIs

This probably isn't ready for prime time consumption but want to get any feedback on the approach and if there is anything I forgot. 

Also I encourage as much test exposure as possible to make sure nothing is broken.
There is a typo in this code that was migrated. `index1` is compared against `0` *twice* and `index2 is compared against `length` *twice*. It's a bit confusing that `length` is array length - 1, but I think this should be:

```
    if (index1 >= 0 && index1 <= length && index2 >= 0 && index2 <= length) {
```