Remove power_mod; Allow items to replace powers on the action bar

If an item has the line:

    replace_power=1,2

Then any instance of power 1 will be replaced with power 2 in the action
bar. Also it is possible to use:

    meta_power=true

for power definitions. The meta_power variable makes it so that a power
can't be cast (meaning it should be replaced with an item).
Make power replacement via items recursive

Also, remove an unsued parameter in PowerManager::playSound()
Add dev-mode command line flag
Add key for developer menu to InputState
Use C++ vectors for WidgetListBox; make list box contents dynamic
Fix typo for MenuExit.h #ifdef
Move PowerManager::targetNeighbor to MapCollision::get_random_neighbor
Add MenuDevHUD
Refactor MenuLog code into WidgetLog

Now, WidgetLog can be used elsewhere, like MenuDevConsole.
Add MenuDevConsole
Don't force a 20-char restriction on WidgetInput

Allows strings of any length, with an optional limit.
Check campaign status before unset console command
Add teleport as dev console command
Only construct dev menus if DEV_MODE is on
Fix prevent_spam behavior for logs
Add "Developer Mode" option to Interface tab in config menu
Revert "Add dev-mode command line flag"

This reverts commit 9ff65b14529864786841bf75a46ad1be899ad181.

Conflicts:
	src/Settings.cpp
	src/Settings.h
	src/main.cpp
Display a target animation on the ground when using powers
Make the attack cursor persistent when holding a power button
Experimental auto-targeting with melee attacks