Fix a GUI function type
Use the correct fail handler in type lookup
Add support for contracted base type env bindings

This allows identifiers in the base type environment
to already have contracts from elsewhere. This commit
also changes how the types for racket/draw bindings
are registered to use the new system.
More GUI types