Implementation of designs for issue #618.
Implementation of designs for issue #618.

Three designs implemented with a compile time choice of which to use.
luetgendorf/Espruino,jasonkajita/Espruino,lancernet/Espruino,mjdietzx/Espruino,luetgendorf/Espruino,jasonkajita/Espruino,dptechnics/Espruino,AlexanderBrevig/Espruino,tve/Espruino,muet/Espruino,mjdietzx/Espruino,dptechnics/Espruino,muet/Espruino,AlexanderBrevig/Espruino,jasonkajita/Espruino,jasonkajita/Espruino,luetgendorf/Espruino,AlexanderBrevig/Espruino,mjdietzx/Espruino,mjdietzx/Espruino,nkolban/Espruino,muet/Espruino,redbear/Espruino,jasonkajita/Espruino,lancernet/Espruino,tve/Espruino,tve/Espruino,nkolban/Espruino,redbear/Espruino,redbear/Espruino,jasonkajita/Espruino,lancernet/Espruino,luetgendorf/Espruino,AlexanderBrevig/Espruino,luetgendorf/Espruino,lancernet/Espruino,wilberforce/Espruino,muet/Espruino,lancernet/Espruino,AlexanderBrevig/Espruino,mjdietzx/Espruino,redbear/Espruino,tve/Espruino,wilberforce/Espruino,nkolban/Espruino,mjdietzx/Espruino,nkolban/Espruino,nkolban/Espruino,wilberforce/Espruino,dptechnics/Espruino,mjdietzx/Espruino,redbear/Espruino,tve/Espruino,luetgendorf/Espruino,wilberforce/Espruino,luetgendorf/Espruino,wilberforce/Espruino,wilberforce/Espruino,dptechnics/Espruino,nkolban/Espruino,lancernet/Espruino,redbear/Espruino,nkolban/Espruino,wilberforce/Espruino,redbear/Espruino,lancernet/Espruino,tve/Espruino,dptechnics/Espruino,muet/Espruino,jasonkajita/Espruino,tve/Espruino,muet/Espruino,dptechnics/Espruino,AlexanderBrevig/Espruino,muet/Espruino