add toggle methods for flash mode
add CameraOpenedEvent
fix immersiveMode
fixes variable fps and improper A/V sync (issue  #9)
Improved getJitterFreePTS(): instead of adding the duration of each buffer frame, add the number of samples. This way, rounding errors do not accumulate
Merge uberspot's improvements. Encoders now emit absolute timestamps. Muxers now calculate
relative timestamps based on the first packet received.

Merge branch 'preview' of https://github.com/uberspot/kickflip-android-sdk into uberspot

Conflicts:
	sdk/src/main/java/io/kickflip/sdk/av/CameraEncoder.java
	sdk/src/main/java/io/kickflip/sdk/av/MicrophoneEncoder.java
allow cloudfront caching of vod.m3u8
refactor MicrophoneEncoder. Prepare off main thread
Merge branch 'preview' into uberspot
provide valid default output location
use correct getJitterFreePTS version
startGlassBroadcastActivity and Fragment
stop broadcast with glass touch
Preliminary Glass Support

Add forceEos() call to AndroidEncoder for devices where MediaCodec#signalEndOfInputStream
isn't honored.

Fortify CameraEncoder with state checking.
Exclusively use AndroidEncoder#signalEndOfStream
still call drainEncoder(true) on last camera frame
Exclusively use AndroidEncoder#signalEndOfStream
merge branch glass with fixes for vod.m3u8 not uploading
Merge branch 'preview' of https://github.com/Kickflip/kickflip-android-sdk into preview