resurrect the JSON type from upstream

* specs are failing
add a common superclass for Text and JSON types

* specs are green, but JSON type isn't integrated yet
remove logger from JSON type
whitespace
remove unused method from JSON type
remove unused and untested method
whitespace
remove unused constant
everything except JSON#apply should be private

* they're all an implementation detail
remove #send call
start adding integration specs for JSON docs
add some JSON integration specs to document

* just enough to test that everything is wired upcorrectly
* the unit specs for Share::Types:JSON will perform complete tests on
  JSON transforms
remove JSON doc type from TODO