Allow immediate switching when top quality index changes
Created by: JontyUsborne
When the max representation available to ABR changes because of updateQuality or Portal Bitrate change, the Buffer Level rule prevents switching because the buffer is larger than the stable bitrate buffer target (12 or 20s). The previous "top quality" target buffer size of 60s means that any appending to the buffer is suppressed for 48s so the user sees their buffer collapse.
Any change in getTopQualityIndexFor() now allows an immediate update of the rules. This should prevent the buffer near exhausting when quality changes and therefore reduce risk, especially as this happens whenever a user goes fullscreen.
Expensive bufferLevelRule is also not called now if getNextFragment is already triggered by isReplacement or topQualityChanged.