debug messages for context push/pop/destroy
debug message wibbles
use our version of 'pop'
module finaliser must access the context via a weak pointer
unused import
execute 'evalCUDA' in a bound thread

- Explicitly run this in a bound thread, rather than using 'forkOS' in the Async module. Critically, this runs the setup and teardown code in the same bound thread as the body expression.

- Move the exception handler to also catch exceptions from the setup/teardown code.
cabal: add profiling options