Revert Lowess function and numpy dependency

I hate reverting this, but the in-tree numpy dependency is causing a bunch of heartache. Ideally we need some way of supporting pluggable functions. Right now the only option is runtime imports but there's no current way of hiding/exposing UI widgets according to their runtime status.