Remote vehicle: split controls to regular and by-wire

I split the controls into regular and by-wire, as advised. Regular controls can still have functions activated, but can't be driven remotely.

Opening doors remotely now requires a door motor (small electric motor). List of openable doors is presented as uimenu with a callback centering the screen on the selected one.

Hacking controls with a controller now respects security system (from hotwiring branch), can activate alarm on failure and (in case of by-wire controls only) unlock the controls as successful hotwiring would. Cars with no power can't be hacked. Cars with by-wire can't be hacked if their alarm is active (making noise).

Only bubble car and solar car spawn with by-wire controls. Those two are the most futuristic cars out there, so it makes sense for them to have by-wire. By-wire controls are craftable (in high-level books).

I optimistically moved the controller out of the mod. Is that OK?
I think, you should not use -1 here, use either an even smaller value or a larger value like `INT_MAX` or `doors_with_motors.size()`. Each will work for the check below.

A `retval` of -1 is translated by the uimenu into the index of the entry, see ui.cpp line 325. It's nice to see someone using the named constant `MENU_AUTOASSIGN` instead of a magic value.