move authentication to separate class. improve stability

check for validation of access token in many place
improve ImageDownloader, solve one case where it will run on UI thread
adjust process of initialization of many UI widget and underlying data
structure

BUG: you have to override onActivityResult to complete authentication
process. since now authentication is in a separate file, it is
impossible to have this method to be called. consider move auth process
back to MainActivity -.-