Perform global type inference with annotated definitions.

 * Type functions as multi-input, multi-output.

 * Disallow quantifying over row types.

 * Obviate the need for higher-rank function types and
   polymorphic recursion.

 * Do not annotate the AST; this will be fixed later.

 * Remove overloading.

 * Bring prelude up to date with latest changes.

Closes #33.
Change escape character to backslash.
Separate declarations from terms.
Add '__apply01' builtin.
Add '__exit' builtin.
Add some prelude functions and require 'then' in 'if'.
Update examples.