watch.js is less likely to build twice in a row
Remove .description() from descriptors
Beginnings of Descriptor abstract base class
'shim.js' is for workaround code
Move workarounds from ensure.js to shim.js
assert.type(): describes actual type of object
Descriptors extend Descriptor base class
ElementEdge.convert(): converts values to comparable objects
ElementPosition.convert() is like ElementEdge.convert()
Descriptor requires subclasses to implement certain methods
Roadmap updates
INTEGRATE: All descriptors extend Descriptor abstract base class

* dev:
  Roadmap updates
  Descriptor requires subclasses to implement certain methods
  ElementPosition.convert() is like ElementEdge.convert()
  ElementEdge.convert(): converts values to comparable objects
  Descriptors extend Descriptor base class
  assert.type(): describes actual type of object
  Move workarounds from ensure.js to shim.js
  'shim.js' is for workaround code
  Beginnings of Descriptor abstract base class
  Remove .description() from descriptors
  watch.js is less likely to build twice in a row