Refactor: Use gfx::Point in several places instead of two x,y integers

Changes:
* Add doc::Sprite::bounds()
* Use gfx::Point to store the doc::Cel position
* Replace "int x, int y" with a "const gfx::Point&" param
* Fix Mask::intersect(const gfx::Rect&) and Mask::crop(const Image*)
Change errors UI related to locked/hidden layers to status bar tips

This was mainly done for Ctrl+click, so when we try to move the
Background layer, we avoid an annoying message box.
Add zoom out (related to issue #33)

Before the zoom was handle as a bits shift (scaled = value << zoom),
now the zoom is a fraction (scaled = value * zoom.num / zoom.den).

Changes:
* Add Zoom class to apply/remove zoom factor
* Split merge_zoomed_image template function into
  merge_zoomed_image_scale_down and merge_zoomed_image_scale_up
  to handle the special case where zoom.num/zoom.den < 1.0
Add opacity to grid and grid pixel (close #58)
Fix crash when other app prevent us to recreate the primary DirectDraw surface (fix #542)
Fix crash changing ConfigureTools options when activeDoc == NULL
Redraw transformation handles when the quick tool is changed
Merge branch '1.0'

Conflicts:
	src/app/ui/editor/standby_state.cpp
	src/app/ui/editor/tool_loop_impl.cpp
Generate kKeyDownMessage for Cmd key correctly
Fix #543 crash adding keyboard shortcuts to menu items without associated app::Key
SelectAccelerator: Focus the KeyField after any modification is done

E.g. if a modifier checkbox is pressed, we want the keyboard focus back
to the KeyField (which is the only interesting field)
Merge branch '1.0'

Conflicts:
	src/ui/manager.cpp
Rename jmouse_[gs]et_cursor() to ui::[gs]et_mouse_cursor()
Remove jmouse_is_hidden() and jmouse_is_shown() functions
Rename jmouse_hide/show() to ui::hide/show_mouse_cursor()
Add PaletteIndexChangeEvent for PaletteView::IndexChange event

This was added to avoid deprecated jmouse_b(0) function
in ColorBar::onPaletteIndexChange().
Remove jmouse_b() function
Remove jmouse_[xyz]() functions
Remove Manager::currentMouseButtons()
Rename ui::jguiscale() to ui::guiscale()

* Change Theme::guiscale member to Theme::m_guiscale