WebIDL Parser and tests

@devoncarew The `web_idl_parser.dart` can be taken out of the `test/web_idl/` directory and placed into the proper `lib/` location. The tests implemented so far are very light and lots of failures. I think most of the failures are due to the parser not being able to handle `///` or `//` at the head of a file, should be simple to fix. I will continue to add tests later on. Even if we remove comments from head, the parser will not work on the chrome WebIdl files cause of (from what I can tell) non-standard use of `namespace something {};`. We can either have an additional parser that will parse the namespace out and then pass the valid WebIdl to the `WebIdlParser`