add alt info for images
Store shopping list in local storage

- This allows lists to be saved and to persist between visits to the
page.
- Uses HTML5's local storage feature
- refactor code to use new localStorageList class
- use a regular array (via the arrayList class) if local storage is not
available / supported by the browser
change arrayList and localStorageList inheritance

Both list types inherit from the pure virtual class shoppingList.
Merge remote-tracking branch 'origin/master' into gh-pages