Split up menu shader backend code to separate file