Fix and improve caping max level to player stage dimensions

- now the stage dimensions are properly detected through stageWidth & stageHeight properties
- capping is now based on two dimensions width and height
- if the stage size was changed during the playback the autoswitching will now consider new max_level value to switch up or switch down the stream level (no matter if the bandwidth was changed)
- the autoswitching mechanisms are runed only if the stream has more than 1 level
- HLSMaxLevelCappingMode enum class defines two possible max leve capping modes:
	- HLSMaxLevelCappingMode.DOWNSCALE - max capped level should be the one with the dimensions equal or greater than the stage dimensions (so the video will be downscaled)
	- HLSMaxLevelCappingMode.UPSCALE - max capped level should be the one with the dimensions equal or lower than the stage dimensions (so the video will be upscaled)

related to #165

Conflicts:
	src/org/mangui/HLS/streaming/AutoLevelManager.as 
(dimensions of stage and levels could be Numbers so it's not a good practice to make them int)
@aneebq mandatory using of braces with `if` statement is another case related to #244. Thanks for your review, I really appreciate it :)

`_maxUniqueLevels` vector is filtered from the `Manifest.extractLevels()` vector, which is sorted by bandwidth. So the `_maxUniqueLevels` is sorted by bandwidth too. The only possible drawback I could find in my solution is the case where there will be level with lowest bandwidth and greatest dimensions than the next one or vice versa, but this is not the algorithm issue but the playlist issue. Anyway, even in that unusual case the `brake` will always be reached so there is no danger of endless loop.