Move _UIModuleNamespace from the top of web.py to the UIModule implementation.
Add a distinct MissingArgumentError class for get_argument.

Closes #782.
Add a run_with_stack_context function to more easily use stack contexts in coroutines.