Adding missing functions to sdl2.nim as well as a joystick.nim wrapper for SDL_joystick.h

in order to allow functions to take A|B which otherwise crashes since A|B doesn't exist in the enum.

I imagine that all other binary flag enums that are passed into functions will have the same issue?