split user_layer into separate modules
fixed up escaping of hyphens in nineml file path so that they only
escape the file name rather than directories on the path
began to add sub-components to component classes
finalised refactoring of user_layer into separate modules/packages