API finalization and bug fixes

* Some enum types are replaced with plain "int" because they were cross used and hard to rename in a manner that make sense.

* #27 is updated to return error for some functions but not callbacks. I've looked and callback functions does not have error checking in GLFW as well except IS_GLFW_INIT which can be cought with error callback so they don't need to be returned. In the future #8 will affect this too.

* Now you can pass nil to callback functions to unset the callbacks. Before it would give an error because go would try to dereference a nil pointer.