go fmt everywhere, all calls to C.CString are followed by a defer C.free

I know it is a lot. Most of it go fmt, because in GoSublime it is hard not to do this. But I lookt for all instances of C.CString and added a defer C.free. There was a bug in GetError that is fixed now. Some window functions are methods now. Some Get Methods actually use multiple return values instead of pointers.