add man page
physic: add GearJoint
physic: check joint type before using them
particle: use && instead of and
event: add constants for buttons & wheel events
graphics: use DECLARE_CONSTANT macro
font: add constants for the text alignment
font: add asserts
event: fix divergence between native and web build

There is now only the left, middle, right, wheel up, wheel down button
of the mouse that will trigger the mouse_press/release callbacks. The
BUTTON_X1/X2 defined by SDL will be ignored since it is handled
differently on SDL1 and SDL2.
event: do not call get_engine for each event
graphics: add colors.lua
tests: update ball.lua so it uses :destroy inside update_physic