Adding support for multi-dimensional signals

The case study for doing this is a new CircularConvolution template and test.
Added dtype attribute to SignalView
SignalView.__getitem__ supports slice
Pretty-printing for base.Filter
Default dt=0.001 for base.Model
Suppress known NaN manipulations in step_lif
First draft of Signal indexing support
Some early steps implementing the new API
with OpenCL objects

- Also renamed James's opencl stuff
Merged James's and Trevor's work. Tests run!