add GtkScrollable, GtkLayout, GtkViewport (mostly complete)

Tried to be as much as compatible with the original code (I actually copy-pasted the original code and edited it along the way).
Ran gofmt (which is the standard practicise among go devs, I believe), and it got rid of some unnecessary parentheses around single return values.
If this one gets merged, I hope to add more stuff ;)