Be more consistent about types

For more details see https://github.com/videojs/videojs-contrib-hls/issues/103
This is not about syntactic sugar, I believe this is a real bug:
The intend of the original code is having fillbuffer called on 'timeupdate' events. But since the fillbuffer will always be called with an event object, this piece of code looks really wrong:

```
segmentBuffer.push({
          mediaIndex: player.hls.mediaIndex,
          playlist: player.hls.playlists.media(),
          offset: offset,
          tags: tags
        });
```

If I am not mistaken, this code may assign an Event object to the offset property, which might end up in the segmentBuffer.


There is this piece of code, which might kick in here and there:

```
      // if there is plenty of content in the buffer and we're not
      // seeking, relax for awhile
      if (typeof offset !== 'number' &&
          bufferedTime >= videojs.Hls.GOAL_BUFFER_LENGTH) {
        return;
      }
```

But if ```bufferedTime < videojs.Hls.GOAL_BUFFER_LENGTH``` you'll end up with an offset stored away as an Event object.

Or did I miss something?