Basic Nim bindings for the Clay layout library

To call nicbarker/clay from Nim, we only need to cover the basic types. The CLAY macro is optional, and you can recreate it with templates/macros if needed. Each element is declared like this: OpenElement () ConfigureOpenElement ( ClayElementDeclaration ( id : clayId ( "CenterBox" ), layout : ClayLayoutConfig ( sizing : ClaySizing ( width : sizingAxisFixed ( 100 ), height : sizingAxisFixed ( 40 ),…