Split library up for performance reasons

Testing revealed a problem with the performance when the Wire support
was added, affecting the SPI code for an unknown reason.