added define files to change characteristics

Now to change the color or behavior of the system it is simply a matter
of going into the define files instead of searching through a bunch of
files
Added links into the view.
changed controller to wishbone_model

This is really a model front end even through it feels like a controller

Theoretcially this could be used for both the Axi and Wishbone but Axi
has a lot more caveats so I probably need to make a new version of it
for Axi
Added the boxes/links/buses

I switched from using a 'smart link' to a 'smart box' basically this
means that instead of the links drawing their position the box that the
link is from will control drawing the links. This allows for a larger
flexibility when it come to drawing slaves (straight lines)

I changed the way in which the view controlled the slave. Before the
view managed some of the slave boxes, now it is switched to a stupid
implimentation where the slave cores/links are removed and then redrawn
whith the 'update_slaves' function. This reduces complexity by only
having one source for the slaves to be generated (the model)