Feature/range1d datetime

This will require a bit of discussion, especially around the Date property.

Closes https://github.com/ContinuumIO/bokeh/issues/635
I'm not sure if you're familiar with this:
```python
In [1]: class X(object):
   ...:     def __new__(cls, x):
   ...:         if isinstance(x, int):
   ...:             return 'a'*x
   ...:         else:
   ...:             obj = object.__new__(cls)
   ...:             obj.x = x
   ...:             return obj
   ...:         

In [2]: X(10)
Out[2]: 'aaaaaaaaaa'

In [3]: X('a')
Out[3]: <__main__.X at 0x7f9bc5a08fd0>

In [4]: _.x
Out[4]: 'a'
```