Added sub id identification
Added an Image ID to the example projects
Added a submodule ID to the GPIO
Implemented Board ID, Image ID and Sub ID
Added a board identification file
Added an __init__.py
Ported over I2C driver from Olympus
BUG: DRT Not returning address
ADD debug register to wb_dma_writer
BUG: Incorrect size specified for DRT
Adjusted bit read from memory to accomodate VLC

The LCD writer will read data from memory. The format of the data was

XX RR GG BB

XX: 8 bits of empty data
RR: 8 bits of red data
GG: 8 bits of green data
BB: 8 bits of blue data

The output of VLC didn't work with this so I adjusted the core to this
format

RR GG BB XX

RR: 8 bits of red data
GG: 8 bits of green data
BB: 8 bits of blue data
XX: 8 bits of empty data

Also I found a strange behavior with the LCD Controller. The controller
reads 6 bits of data, not 8 bits of data, when the unused bits are sent
down to the controller (At least for the pure colors of RGB) then the
image would behave strangely