Feature/range1d datetime (WIP)

This will require a bit of discussion, especially around the Date property.

Closes https://github.com/ContinuumIO/bokeh/issues/635
One could use `__new__` for this. We use it extensively in SymPy to get things like `Add(1, 1)` converted to `Integer(2)`, etc.