Implemented "progress/percentage" bars.
Refactored CPU monitor to use Text.
Fixed ignoreBg and drawBg.

These functions did not properly restore the state for the
next widgets, breaking composability and causing unexpected
behavior.
Created IsString instance for Widgets.

Now a fixed label can be written simply as the
string, without the need for an explicit call to
the 'label' function.
Implemented monitor for memory usage.
Grouped functions for reading from procfs.

Since some of these will be used for multiple
modules, it is useful to group them in a separate
module which is then imported - avoiding duplication.
Implemented monitor for swap space.