First commit

This code only compiles with the Saltarelle compiler > 2.0.4 because it uses the Reflection API