**Screen**
* Add "RGB" as valid value for `mode` property
- This is auto-detected for all 7 Color Screens
* Add method `reduce_palette` to reduce all of the colors in an image to a set palette
* Add method `colors2palette` to produce a palette that can be used with the `reduce_palette` method
- The default is a 7-color palette of w3 colors: 'RED', 'ORANGE', 'YELLOW', 'GREEN', 'BLUE', 'WHITE', 'BLACK'
* Update `list_compatible_modules` module function to show supported mode
**Layout**
* Add `mode` property to `__init__`
- Supports "1", "RGB", "L"
* Mode property validates value against `constants.MODES` and throws `AttributeError`
* API Change in `Layout` class: add public method `set_block` to create or update a single block
* API Change in `Layout` class: add public method `update_block_props` to allow changing the layout settings for a block
- the block must be updated using `update_contents` after the properties are changed
* API Change in `Layout` class: all `Layout.layout` dictionaries must now contain the key `type` that indicates the block type: (`TextBlock`, `ImageBlock`, `DrawBlock`). Failure to include this key will raise a `KeyError`.
**Block**
* `Block` superclass for all block classes now supports "RGB" mode
* All classes support the following for `fill`, `bkground` and `outline`
- RGB tuples: `(128, 128, 128)`
- hex `0x808080`
- integers: `8421504`
- colormap colors: `"gray"`- (see `ImageColor.getcolor`)