Wrapper class for CAN bus

Hi Collin,

Please check this pull request and try to merge it. It contains changes that allow the support of both platforms in one code base. I merged in your latest changes.

Michael