added background drawer thread, user interaction, changed the lib and using the appropriate canvas type now