Also stop at root when extracting CSS color

This change adds an additional check for whether the parent element
is `null` or `undefined` in `$.color.extract`.  This can happen when
working with elements that have not yet been added to the DOM under
`<body>`.

Consider the following example pie chart.

    var elm = $("<div />")
      .css({
        width: "240px"
      , height: "320px"
      })
    var data = [
      {label: "One", data: "33"}
    , {label: "Two", data: "33"}
    , {label: "Three", data: "33"}
    ]
    var opts = {
      legend: {
        show: true
      }
    , series: {
        pie: {
          show: true
        }
      }
    }
    $.plot(elm, data, opts)
    elm.appendTo($("body"))

When flot inserts each legend row, it tries to use the same color as
the corresponding graph part, unless it was explicitly specified in
the options.  However, in this example, `$.color.extract` runs into
an unexpected `null` reference because `<body>` is not an ancestor
of `elm`.  Specifically, a `TypeError: Cannot read property
'nodeName' of undefined` would be thrown.
Merge pull request #1084 from execjosh/stop-also-at-root-element

Also stop at root when extracting CSS color
Slight cleanup / optimization for #1084.