A Denotational Semantics for Needed Narrowing