Added button preview to the settings page

* Separated button generation and button display functions. Button contents now depends on whether it's a preview or normal button.
* Added preview section on settings page. Not real preview, because it only updates works on save or reset.