generic AssetData in manifest file

This makes it so that the manifest asset file can be unserialized by
any library by simply defining the basic AssetData and AssetType
classes/enums, or like in OpenFL case - mapping it using a TypeResolver
to a package specific class>

Also adds more info if manifest parsing fails and why.