add blank canvas craft item and recipes for paintings

First, craft a blank canvas from four sticks
and some white wool:

- s -
s W s
- s -

Then, combine that canvas with some black and white dyes in the right
pattern to get the painting you want.

Paintings are numbred in-game, from 1 to 20.  Since there are so many
paintings, and so little crafting space, the only way I could think to
do it was to use binary for the recipe.  Convert the number of the
painting you want into binary, then use black dye for each 0 and white for
each 1, and lay them down into the crafting grid in this pattern:

bit2  bit1  bit0
  -   bit4  bit3
  -   Canv.   -

With the blank canvas in the bottom center slot.  For example, if you
want painting number 9, that would be 01001 in binary, so you'd arrange
the crafting grid like so:

Black Black White  --->  Painting #9
  -   Black White
  -   Canv.   -
change bit order of painting craft
now it is:

 --  bit4 bit3
bit2 bit1 bit0
 --  Canv  --
rewrite the paintings crafts
just use dyes in a pattern resembling the painting instead of using binary.
fix crash in signs_lib
document inclusion of building_blocks
make windowpanes walkable/solid
added recipes for several items
add recipes for windowblinds via new craft item, plastic strips
add spools of copper and steel wire
use them in some recipes in lieu of steel/copper ingots.
new brass ingot image
additional dishwasher top surfaces
same method and limitations as kitchen.  Can make wood, steel, marble, granite
Move the openframe bookshelf into the main homedecor mod
Moved the craft recipe too
this leaves just the default bookshelf and the moreblocks empty counterpart
in the 3d extras mod.
change speaker and speaker-based recipes
now, you must craft a speaker driver (the actual speaker itself) first, then
use it to craft the "small" and "large" speakers, alarm clock, etc.
Add background image to signs_lib formspec
defer to technic for brass ingots

if technic is not installed, just define its brass ingot and use the standard
moreores silver/default copper craft recipe to make it.

if technic is installed, define no recipe for it - let technic's zinc/copper
alloy furnace recipe handle it.
better recipe for 3dforniture bars
also lower the yield, they're way too cheap.
Change formspec to use textarea element.

This also removes the pipe as line separator, and uses real
newlines instead.

To be compatible with older signs, those older signs are *NOT*
updated, and still use the old line handling code. In order to
take advantage of the new UI, old signs will have to be
replaced. This is an unfortunate drawback that cannot be
fixed.

Newly-placed signs will have the new features right away.
desk fans (YAHN)
uses new fan blades object for recipe
Use fan blades in air conditioner recipe
add space heater

rename fans.lua -> climate-control.lua and move air conditioner into it
along with the new heater.