New idl parser

Still a work in progress, will not replace the current implementation yet.