* Runs the Swift 3 migrator in ChattoApp.
Affects ChattoApp, ChattoAppTests, Chatto and ChattoAdditions. Does not migrate ChattoTests or ChattoAdditionsTests
* Configures Chatto And ChattoAdditions projects to use Swift 3
* Updates .travis.yml to use Xcode 8 and iPhone 7
* Uses flatMap instead of filter and force cast
* Fixes createCollectionViewLayout not being a function
* Removes useless init overrides
* Fix for new implicit unwrapping optional non-propagation rule
* Removes useless casting
* Audits accessor levels in Observable
* Fixes UIControlState.Normal replaced by UIControlState()
* Favours private over fileprivate where possible
* Audits open/public access level
* Removes conditional if for Swift 2
* Removes label from simulateTapOnTextViewForDelegate
* Audits open/public access levels
- Just one capture session per input component.
- Avoids starting/stoping capture during collection reloads, which can make the live camera take longer to capture or even hang.
- Moves creation/destruction of capture session to the background: when opening/closing the input component many times it was resulting in capture start / stop blocking the main thread for some seconds on iOS 8
- Queues updates in the collection view: doing a reloadData right after reloadItemsAtIndexPaths (update video) results in the visible cells not being refreshed