Rearrange items in lib

Enums first, then pub functions, and private helper functions last.
Clean up existing comments
Add Cell and Attribute enums
Expose set_cell and convenience print methods