Add ButtonLayout class to replace old method of button placement, and added test render