Allow building TypeDefinition on non-macro platform

 * Moved some `MacroStringTools` functions for non-macro platform
 * Added `ExprTools.makeMacroPosition`, which is a replacement of `Context.currentPos` for non-macro platform.