ISIS-930: support @CssClassFa(...) for domain types (use instead of class-level icon).

NB: if there is an object-level icon (ObjectAdapter#getIconName() returns non-null) then that is still used.  So this is only an override of the class-level default icon.
ISIS-537 Extract common markup in the parent classes (WIP)