Timeline: Don't leak render pass states.

Change-Id: Ib19cd8cc76324e583ed79d8a660bb06a7b154a66
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Timeline: optimize items render pass

We only need 2 additional vertices for items of different height, not 3.

Change-Id: Idff63aaead53f0a95d89ba5d6455b4fb169059f2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Timeline: Clean up TimelineAbstractRenderer

Don't include things twice and don't signal const TimelineModel where
it isn't const. Also, allow creation of renderers without using the
private class.

Change-Id: I1c46d75c6abf1f38731dde6f4f3ebe8f5af2ad08
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Timeline: Complete test coverage of TimelineModel.

Change-Id: If27c51b1189bc0bb0333837c58849bc79b779845
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Timeline: Streamline model implementations

Allow models to be created without a parent and provide default
implementations for virtual methods. It's actually fine to have all
ranges in row 0 and in black by default. Having default implementations
makes things easier to test.

Change-Id: Ibb842ef295cdcfa13d8ca4be3489906af72e9699
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Timeline: test TimelineAbstractRenderer

Change-Id: I9860af4b6aedbd656103bf5def38f1830b1352e1
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Timeline: make notes model optional

If you pass 0 as notes model to the aggregator then all the notes
features are hidden.

Change-Id: I432f2820812c472221a0330de5b8f5d8d0fcad13
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>