I've finally managed to tick off a box for my raylib bindings that I wanted to solve for literal years.
Like upstream raylib, we now separate the library into modules of `core`,
`text`, `shapes`, `textures`, `models`, and `audio`. The types all live
in `core`. This allows linking only a subset of the library surface, for
smaller binaries. A super-module `raylib` re-exports everything to link
the whole binding (including `rlgl`), so there is no breakage for users.


