Support loading shared objects and such at runtime.
Turns out build is broken. Fix it.
Move platform files from src/plat-* to src/platform/* (and similarly for include files).