A fully asynchronous core. Still sees glitches for some reason.

Needs to be tested on an updated driver.
Began sync testing. Synching on Expr seems to have the most effect.

Disabling syncing the tranferData() shows a significant performance
speedup.
Changed all stream retrievel to retrieve from the destination frame.

For some interesting reason, pulling from a source frame can result in
corruption when filtering. It's likely due to a race condition when
dealing with multiple input clips and memory copies to the device.

Further testing is required to make sure that all corruption issues are
mitigated by pulling the stream selection from the destination frame,
vs. using explicit synchronization.
Remove unnecessary stream functions from API.

They are now unnecessary for the new stream architecture.
Updated README for new fixes.
Added SM_21 compile target.

Leads to quite a nice performance boost for the two tested scripts,
testmega.py and test7.py