Allow custom column widths in Stack layout

This allows you to set the percentage of the screen you want to use for each column in the Stack layout instead of using equal widths for each stack.

Example config:

    layouts = [
        layout.Max(),
        layout.Stack(stacks=[50, 50]),
        layout.Stack(stacks=[30, 70]),
        layout.Stack(stacks=[70, 30]),
    ]

I updated the tests and they all passed when I ran them. I didn't add any documentation though sorry.