Lowered maximum weight carried

100lbs for an avg person (8 STR). Based on military rucksack run data.
Replace duplicate code
Update overburdened function

Also removed unneeded int->int->double->int conversion
Add strain harm
Change player weight limits

Also adds a new option "Dangerous pickups", which when enabled will
cause players to automatically retain items (unloaded, casings, etc.)
that would cause them to go over the strain weight limit.
Create Metric Speeds option

Also enabled the mouse cursor option which had been broken at some
point.
Conversion part 1

Converted artifacts, bionic code, FAQ, and some of Player + game code.
Added conversion function to convert for display.
Rework the inventory letter(invlet) assignment system.

Instead of relying on item.invlet to store the preferred letter for an item, we now cache the preferred letter in the inventory.

This commit also fixes several locations in the code where inventory:additem should have been called with keep_invlet = true. This caused a bug where items would appear to have a different letter than they actually had, which only didn't happen often because items tended to keep their assigned invlet.
Convert instruments.json to new weight system
Convert ranged.json to new weight system
Added missing chitin armguard recipe

Also adjusted metal leg guard recipe to be more in-line with it's
weight.
Convert armor.json to new weight system
Convert books.json to new weight system
Update containers.json to new weight system
Convert mods.json to new weight system
Convert archery.json to new weight system
Convert comestibles.json to new weight system
Fix some missed charge conversions
Convert tools.json to new weight system
Small weight tweak