Add a new module `Window.Layout'

vimのウィンドウをレイアウトする新しいモジュールを追加しました。
Window.Layoutがユーザが使うためのインタフェイスで、Window.Layout.BorderLayoutがレイアウトを実際に行うレイアウトマネージャです。

このモジュールを使用することで、plugin側はウィンドウのレイアウトをWindow.Layoutに任せることができます。
バッファ定義とレイアウト定義を分離しているため、バッファ定義はplugin内部で固定、レイアウト定義はユーザから指定、ということができるようになります。
そのため、ユーザ側が任意のレイアウトを設定できるようにすることが容易にできます。