Add initial support for OpenCL.
Refine OpenCL infrastructure & add Python bindings.
Allow lazy allocation / initialization.
Optimize Python bindings for lazy data movement.
Fix C++ -> Python block conversion.
Fix NVIDIA OpenCL support.
Fix various bugs discovered with clang.
Add CI support.
Add some matvec functions.
Add random API.
Uniformize naming scheme.
Add some matvec APIs.
More naming scheme cleanup.
Add basic support for elementwise functions.
Add basic support for reduction functions.
Add signal APIs to Python bindings.