Assorted cleanups to macro implementations and project structure

It doesn't really cast anything. This is only supported for `f64` and just tells the API that the shader expects a high-precision float there (read: double), so the there no need to *downcast*.