choose fragment nearest to position or pts with less start_pts

Hi! 

- With accurate seeking we don't need the nearest fragment to position or pts but the bottom nearest. 
- In case of fragment with unequal size of video and audio tags we should concern both to determine min and max pts.
- ```_buffer_next_pts``` should be equal to the next fragment start_pts and not to the max_pts of current fragment (they are not equal). This issue appears due to feature the first feature in this list. 
- Duration of the last fragment can be smaller than average duration.
- State update event must occur after _real_ state update (otherwise, e.g.  if I want prevent hls from pausing I can't do that: I receive event, call ```resume```, but than ```_stream.pause()``` is executed.