add execution context

I don't know how I thought I could get away without one. I'll blame
hackathon-induced myopia.

Anyway, looks like the core functionality is complete. We've left to
build the standard library and provide a nice interface, and it'll be
done!