Optimized bridge

The bridge crossing has all been factored out to a library file. All of
the functions and variables are housed in it. It is called with select
bridge and crossed bridge. Nothing else is needed from the main file
except the setup of brigade variables. All associated globals are in the
library. The code has also been optimized significantly. It runs ~ 10x
faster than it did previously.