Implemented layered code formatter. Closes #3
We still need to fix formatting for the SilverStripe templating language
though. Opening separate issue for this.