Platformtree macro cleanup

 * extracted macro code to dedicated macro/
 * better crate naming, macro crates now have "macro_" prefix
 * cleanup for uses