Ported the whole client to DART, added a script to compile dart to js