AngularJS provider & directive that wraps localStorage and sessionStorage