Add the ability to import packages.

This allows doing something like:

    package foo

    import "bar"

    type Foo Peg {
        bar.Parser
    }

This is the easiest way to have multiple grammars that use the same
underlying type. The generated parsers contain too much duplicate
constants and types to live in the same package and trying to make the
names unique became just too ugly.

This way I can easily experiment with different grammars to see which
one works best without copying the whole underlying code to different
packages.