RFC: design based on nengo_ocl

Hi @tbekolay @ehuns,

After talking with Trevor yesterday I put this together: it's
* a simulator (simulator.py)
* an object model for it (base.py)
* a [partial] implementation of the old api (old_api.py)
* a single non-trivial test (test/test_old_api.py)

What do you think? If you like the design, then the next steps would I think be to

1. bring in the  unit tests from nengo_theano, and set them up to run using the "old_api.py" interface.  Then keep hacking on things until they all run.
2. implement the new api on top of base.py similarly to how the old_api is done, write some new_api tests.