Code clean up: use Set instead of Map
There can be more than one style which isn't basedOn another, so don't make such a style the root of the hierarchy.  Instead, a child of root.
Font handling (notes mainly as to what needs doing)
Changes consequent on having dummy root node in StyleTree