Allow to specify alternative types for properties

This effectively replaces broken OrElse.
Merge pull request #1351 from bokeh/mattpap/alternatives

Allow to specify alternative types for properties