don't test for version number during parsing

it is not needed and will fail if the version is specified late
add custom extension support

the parser can now be configured to put specified extensions into a 'vendor' property.
toString() will output any such custom properties.
0.1.12