moved RSyntaxTextArea into its own component for reuse and to encapsulate it
use MacroEditor in the future