Add support for Xilinx ISim

* Fix various missing `include's from Verilog files.
Restructure directory for clean simulation

* Run make sim-{xilinx,icarus} from hardware/ to simulate execution of
  the hex file in hardware/sim/mem.hex.