Encapsulate square-filling function, and add some documentation comments.
Add capability to draw opaque squares with borders of varying thicknesses.