def layout(params)
      selected.each do |view|
        RubyMotionQuery::Rect.update_view_frame(view, params)
      end

      self
    end
def layout(params)
      selected.each do |view|
        RubyMotionQuery::Rect.update_view_frame(view, params)
      end

      self
    end
Always applied in this order, regardless of the hash order:
   grid
   l, t, w, h
   previous
   from_right, from_bottom
   right, bottom
   left and right applied together (will change width)
   top and bottom applied together (will change height)
   centered
   padding

 @example
 rmq.append(UILabel).layout(l: 10, t: 100, w: 100, h: 18)
 rmq(my_view).move(l: 10, t: 100)
 rmq(my_view).resize(h: 10, w: 100)
 rmq(my_view).layout :full
 rmq(my_view).layout(l: 10, t: 20, w: 100, h: 150)
 rmq(my_view).layout(t: 20, h: 150, l: 10, w: 100)
 rmq(my_view).layout(l: 10, t: 20)
 rmq(my_view).layout(h: 20)
 rmq(my_view).layout(l: :prev, t: 20, w: 100, h: 150)
 rmq(my_view).layout(l: 10, below_prev: 10, w: prev, h: 150)
 rmq(my_view).layout(left: 10, top: 20, width: 100, height: 150)
 rmq(my_view).layout(l: 10, t: 10, fr: 10, fb: 10)
 rmq(my_view).layout(width: 50, height: 20, centered: :both)
 rmq(my_view).layout("a1:b5").show
 rmq(my_view, my_other_view).layout grid: "b2", w: 100, h: 200
 rmq(my_view, my_other_view).layout g: "b2", w: 100, h: 200

 @example with padding
 mq(my_view).layout(grid: "b2:d14", padding: 5)
 mq(my_view).layout(grid: "b2:d14", padding: {l: 5, t: 0, r: 5, b:0})

 @return [RMQ]