Fix cuepoint positioning before video loaded

The `calcLeft` method was erroring because the video length is unknown
until the video loads. It now checks first.

A nice side effect of this is that the cuepoints can be placed
off-screen until the video loads, instead of sitting at the start of the
scrub bar and then jumping to their correct positions when Play is
pressed.