Added logging
Refactor CassowaryLayout
Move public methods to the top of the class
Use ExecutorService for background work
Split up onMeasure method