Refactor DashParser
Created by: davemevans
Whilst working on some other areas of the code I noticed that the DashParser was a bit of a mess and, as a comment in there already said, would benefit from a refactor.
The bulk of the work was breaking out the construction of ObjectIron mappers and X2JS matchers into separate, reusable classes. This simplifies DashParser down to a single parse method.
Other improvements were to use window.performance.now for timing (thanks @LloydW93), which caniuse implies is now available everywhere, and to update RepresentationBase common values to include the latest from the spec, fixing an existing entry which was incorrect.