Update bionics.cpp

updated failure mechanics.  discussion here: http://smf.cataclysmdda.com/index.php?topic=2687.0
new bionics_install chance of success & skill calculation

discussion here: http://smf.cataclysmdda.com/index.php?topic=2687.0
use adjusted_skill to calculate failure_level
Make wcwidth.c use uint32_t instead of wchar_t
Another NULL check, just incase an NPC has no profession
Yet again, remove even/oddness constraint on TERMX and TERMY.
Correctly set VIEWX and VIEWY.
Allow VIEWX and VIEWY < 12.
Add comments to display globals indicating usage.
Add POSX, POSY globals for position of '@' inside terrain window.
Remove some obsolete commented code.
fixed the activatable menu
Clarify all uses of VIEWX and VIEWY, mostly to POSX/POSY.
Completely replace VIEWX, VIEWY with POSX, POSY.
Implement JsonObject::get_tags(name) convenience method.
Move martialarts.json to data/json and convert to json.h.
changed to clone_stack
add object_type enum to provide a consistent method of stating what an in-game object's class is.
add obj_type_name and obj_type_id for saving object_type as string
map::can_move_furniture(x,y,player*) returns true if player can move furniture
map::combined_movecost; add optional modifier argument to +/- result (ex simulate cost-without-furniture)
add object_type player::grab_type. On load, defaults to OBJECT_VEHICLE if
unspecified and grab_point is set