fix #70: store settings in local storage

also adds settings context function and change event streams