Adding support for specifying the border width in PolygonVisual.

Small feature I found useful while working with VisPy.  This is my first pull request to the project, if you have any general guidelines let me know!
It's best only to use `try/except` as a last resort. In this case, it wolud be cleaner to use `isinstance(edge_color, Color)` with a conditional like:
```
if isinstance(edge_color, Color):
    edge_color = Color(edge_color).rgba
```
However, in this particular case you shouldn't even need to do this. By "array" do you mean a 1D array with 3 or 4 entries, or a 2D array? If it's the former (3- or 4-element array), then the original code should still work -- `Color(array).rgba` should be the same as `array` (with some nice type checking, etc. that isn't implemented here). If it's the latter, it would be better to use `ColorArray` since it's more general than the code here.