Refactor BoundTimes setters

Removes setter from LeftBoundTime, instead moves fuctionality to a
private member method called SetBoundTimes. Also adds a second private
member method called RecalculateBoundTimes for readibility purposes.
Refactor PixelsPerSecond

Makes PixelsPerSecond a private property that can only be retrieved.
Adds a backing field that is set through the method
CalculatePixelsPerSecond.
Refactor Private Properties of Timeline

Condenses several lines of code from Timeline.cs
Refactor Timeline.AvailableWidth

Turns AvailableWidth into a private property
Add OnResize method

Adds OnResize method, which is overriden from the base class. Moves
the CalculatePixelsPerSecond call out from OnPaint and into OnResize
Change Timeline Drawing

Timeline.PixelsPerSecond is now set based on a constant width factor
instead of the current Width of the control, meaning that captions will
stay the same size when the window is resized.

Recalculates bounds on resize.
Change Documentation

Changes the documentation for Timewdith
Change Timeline.UpdateTimeLinePosition

Changes check to use CenterBoundTime instead of halfTimeWidth.
Refactor Timeline.UpdateTimeLinePosition

Changes name of method.
Add PlayheadLabel, replaces label in Mainform

PlayheadLabel replaces the two Timestamps and Label in Mainform, and
encapsulates everything related to the label in one class.