A javascript cross-extension messaging architecture