reworked serial layer (more verbose), added checks for chrome.runtime.lastError in connect and disconnect api calls