Move Dimensional trait and dimensional macros into separate files