Fix: strict should check function expressions (fixes #1244)

Previously, `strict` only warned on nodes whose direct parent was the root `Program` node, therefore `FunctionDeclaration`s were checked, but `FunctionExpression`s, which typically get nested inside `VariableDeclaration`s or `CallExpression`s, were excluded. This changes the logic to check whether the parent *scope* is the global `Program` scope.