Fix barcode rendering.

- Two lines were missing from the right side of the barcode due to there
  being two empty lines on the left side of the bar code for some reason.
  Fixed this by shifting the barcode left by 2 lines, but also added the
  quiet zone back because I found a definion for it that uses the smallest
  size instead of millimeters.
Add gif to the list of allowed barcode formats.

- Bigger than png. The 2 color version might be smaller though.
Tweak the price tag format.

- Change barcode sizes to be integer multiples of the real barcode size.
  Tiny price tags use 1px unit width barcode, while others can fit the 2px
  unit width barcode.
- Overlay the textual code with the barcode like they do in store packages.
- Move vendor id next to the price, so it doesn't get confused with the
  textual barcode. There isn't really any good place to put it.
- Move price down a bit so if the name can overflow to the second line.
  Looks bad while editing, but kind of works in print mode.
Add bitmaps as a possible barcode format.
Reduce the color palette for barcode images.
Inline barcode images into the html with data-urls.

- New template tag barcode_url turns a barcode into an url.