Add IDL language mode

This PR adds an IDL language mode. It is mostly modified from the Octave mode. 

Please note I have never written JavaScript before so even though it seems to work I may have made some mistakes.