Update for new enum scoping rules (#27)

(Here's a fix for #27. Thank you for your library, and for considering this fix!)

The items in enumerations are no longer added to the module scope by
default.  We fix the code to work with this by adding 'use self::...'
declarations to export the enum members as needed.  For more
information, see:

https://github.com/rust-lang/rust/pull/18973

This also required adding a new 'use' statement to the generated
code, and updating grammar.rs accordingly.