Refactor frame class hierarchy so that AccessibleEntity no longer
inherits IdentifiableEntity. This means that certain 'acessible'
types, like SystemEvents and Annotations no longer have to supply
the 'identifier' field to pass validation. The AccessibleEntity ID
generator has been renamed to IdentifiableEntityIdGenerator because
it requires the identifier field, not that something be 'accessible'
per se.