Addresses issue #1667
Choosing not to study still reads the book for one step
Merge remote-tracking branch 'origin/imagefonts'
Merge remote-tracking branch 'upstream/master'
[WIP] Framework for determining part power usage
Adds power requirement for headlights
Adds vehicle alternators and car battery spawns
Merges master branch changes to vehicle parts
Update alternator and car battery PR.

Conflicts:
	data/json/items/melee.json
	data/json/vehicle_parts.json
	data/json/vehicles.json
	lightmap.cpp
	savegame_json.cpp
	veh_typedef.cpp
	vehicle.cpp
	vehicle.h
Tab removal.
Adding mouse support for SDL builds. Currently used for:
Look around:
* Left click to move cursor

Targeting:
* Left click to move cursor
* Scrollwheel to cycle targets
* Right click to fire
Use input_event struct to encapsulate mouse events
Fix 'if' block missing braces and const correctness
Re-adds gallon jug recipe.
With circular distances on, make circular craters
Add a return statement to dummy getch_kyb_mouse definition in wincurses, in case that's causing some compilers to complain.
Fix food [a]ctivate
prevent inventory duplication on [a]ctivate, fixes clothing activation.
[a]ctivate lists all activatables.
Added more pack monster spawns.
Removed effect of sound on dynamic spawning.