Large performance gains.

By pre-compiling schemas, we mitigate the cost of many type
comparisons against the schema during validation. This results in
about a 2.5x speedup.

This is also partly backwards API incompatible. Partly because it
removes the validate_X functions which were visible, but typically
unused.