shiny/widget/flex: basics of flex algorithm

Covers sections 9.3, 9.4, and implements a decent chunk of the sizing
described in section 9.7.

Change-Id: Ia3b24c2b568ef94a3ae779525971f29d61c39fe9
Reviewed-on: https://go-review.googlesource.com/23016
Reviewed-by: Nigel Tao <nigeltao@golang.org>
2 files changed