Use a default value of zero for TimedItem.startTime when in a ParGroup

Currently, the default value of TimedItem.startTime is ...
- zero when no parent is present
- forced when in a SeqGroup
- equal to the parent's iteration time when in a ParGroup

The behaviour when in a ParGroup is required so that a new Animation runs
immediately when added to the default group.

However, this also leads to unintuitive behaviour, as by default, the timing of
TimedItems within a tree depends upon the time at which each item was added to
the tree. As a result, it is often necesary to explicitly set the startTime to
zero.

The Player model avoids the need for a default group, so this behaviour is no
longer required. Instead we should use a default value of zero for simplicity.
This is particularly important as TimedItem.startTime will be read-only, so it
will no longer be possible to force a value of zero as described above.
Make TimedItem.startTime read only

In the new Player model, TimedItem.startTime is read only, but Player.startTime
is writable.
Remove concept of pausing

Removing this now will simplify the transition to the new Player model. A
simplified pause funcitonality will later be added to Player.
Implement Player

Thisa commit updates tests where parent behaviour has changed. Other mechanical
updates to tests to use Player are in a later commit.
Reinstate pause functionality