improve interface of NewUIHandler
fix add/remove callback-waitCallback pair
implement sync() methods
implement remove() methods
implement single() methods
implement join() methods
throw NPE when callback is null
release WaitCallback when it is removed
delete single() methods and sync() with delay
add JavaDoc
fix sub() method
implement root() method
add test for NewUIHandler
fix root() should return root handler
implement testConstructor and testTags
reformat code
fix settings.gradle
fix testConstructor
implement testPost*()
remove useless method