Partially refactor builder.py

Split Builder class into several *NodeFactory classes. To be continued.
Refactor node.py and latex_node.py

Along with significant usage changes in builder.py