R layout

New layout API #725. 

Layout modifiers lack a generic implementation currently, but the API is done.