Rename restful  to  to avoid name collision
Begin View/Doc Refactor

Since we're moving away from Nokogiri for view manipulation it made sense for the first step to be separating View/Doc code. This commit introduces a NokogiriDoc object that View is aware of and View no longer concerns itself with modifying the Doc.

The theory is that StringDoc will be a drop-in replacement for NokogiriDoc and require few changes in the View code.

In an effort to simplify the refactor I removed a bunch of code added to optimize the use of Nokogiri. Later, we may look at adding it back to NokogiriDoc. On the other hand we may decide the added complexity isn't worth it and just leave NokogiriDoc as-is, and relatively slow (with StringDoc being the fast alternative).
Move binding logic out of view
Few tweaks to View
StringDoc first steps

Properly parses / renders HTML and exposes significant nodes (containers, partials, scopes, props).
Working implementation of StringDoc
Bit of code cleanup
Deep dup util
Reorganization
Remove support for unscoped props
Minor stringdoc refactors
StringDoc <-> NokogiriDoc Parity

- deprecates #bindings method throughout in favor of #scopes
- runs doc/scopes specs against both doc types
Port attribute tests to rspec and test both docs