two dimensional blocks of text
type t
val nil : t
val fill : char -> width:int -> height:int -> t
val space : width:int -> height:int -> t
type valign = [ `Bottom | `Center | `Top ]
type halign = [ `Center | `Left | `Right ]
val text : ?align:halign -> string -> t
val vcat : ?align:halign -> ?sep:t -> t list -> t
val hcat : ?align:valign -> ?sep:t -> t list -> t
val width : t -> int
val height : t -> int
val valign : valign -> t list -> t list
val halign : halign -> t list -> t list
val hstrut : int -> t
val vstrut : int -> t
val render : t -> string
val compress_table_header : [ `Cols of (t * t list * halign) list ] ->
[ `Header of t ] * [ `Rows of t list ]