Allow customization of goalBufferLength (#63)

goalBufferLength controls how early the request for the next segment is made.
The current value of 5 is chosen arbitrarily and might need to be changed by
users, e.g. in case where larger segments are used (which take longer to
download).
It might be a further enhancement to allow an "auto" mode which takes
EXT-X-TARGETDURATION and download speed into consideration.