Refactor timeline tag scanning to work the same for the root timeline and sprite tags

This enables correctly scanning arbitrarily nested timelines for definition symbols. These aren't allowed per spec, but happily accepted by the player and exist in some content.

Also introduces tracing of parser events, with tag scanning and symbol registration supported for now.