ecdsa: always use signature object

This pull request uses a Javascript object `{r, s}` in preference to passing the `r, s` values directly for all `ecdsa` functions.
This had an adverse effect of some of the structure of signature parsing code, and the test fixtures layout; mostly in an effort for it to remain sensible.
No test data was changed, but it was restructured.