Map update

- Complete map drag function
- optimize map redraw function by only draw cells that is visible