Use generic listview adapter

Implemented a basic extended BaseAdapter to allow for more flexibility
when controlling ui update timing.
Please review @schilit