Initial integration of abstract rendering

Abstract rendering framework integration working for count-based analysis.  Includes slots for aggregator, info, chains of shaders and a few basic shaders. 

Notes: 
* Requires separate installation of abstract rendering, but it prints an error if the import fails, including instructions for how to download/install from the main AR repo
* Axis ticks are wrong...just plain wrong.  Don't trust them when using AR.
* Merged in master at 2:46am on 13Jun2013.


Run examples/plotting/server/abstractrender.py yields....
![ar](https://cloud.githubusercontent.com/assets/2963989/3267190/51361f2e-f2c6-11e3-80b3-66f5833868a5.png)

Comment added.

The Any is used in two cases.
Case 1: The downsampler needs to signal to bokehjs which routine to run.
 So all downsamplers put in a key 'resample' with a function name.  This
signaling could be done in many other ways (e.g., a dedicated 'resample'
field).

Case 2: In other downsamplers, this is how they can set parameters.  The
original downsample branch didn't have much parameterization and this is
how I figured out how to get some to work.  I consider this case a bit of a
hack now that can be removed when other downsample functions have better
parameter mechanisms.


On Fri, Jun 13, 2014 at 4:51 AM, Mateusz Paprocki <notifications@github.com>
wrote:

> In bokeh/objects.py:
>
> >      # allow us to add some data that isn't on the remote source
> >      # and join it to the remote data
> >      data = Dict(String, Any)
> > -    # allow us to specify slicing of data on updates
> > -    index_slice = List(Any)
> > -    data_slice = List(Any)
> > -    # allow us to transpose data on updates (for image data)
> > -    transpose = Bool(False)
> > +
> > +    # Paramters of data transformation operations
> > +    transform = Dict(String,Either(Instance(PlotObject), Any))
>
> Same here. Please explain what can happen in Any case. Preferably there
> shouldn't be any Any's in the code. But it's good that you used
> Instance(PlotObject), because otherwise serialization could go wrong.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/ContinuumIO/bokeh/pull/707/files#r13742534>.
>