(PUP-2382) Standardize FFI module conventions
- Extend FFI with attach_function_private, which allows adding an FFI definition to a module privately. This is a bit simpler than nesting an 'API' module / clearer than FFI definitions inside a private.
- Unfortunately this doesn't make class / struct definitions private but this shouldn't be an issue in a practical sense (and isn't a change to the previous behavior / design)
- Refactored existing API definitions and settled on mirroring the Win32 names precisely. In some modules, the API names had been ruby-ified, which led to collisions. Using the casing of the Win32 API calls is a sufficient hint to differentiate them from Ruby code.
- Found missing values for TOKEN_INFORMATION_CLASS that were added to enum