In order to write conformance tests for widl we'll need to run midl.exe from the SDK against some tests IDL, and do the same with our own IDL parser implementation. This is going to be easier using some midl.exe program, which will import widl lexer and parser.
This MR is some cleanup in preparation for this, trying to reduce the amount of global state in widl, and make it possible to share only selected parts with midl.exe.