Implement a new syntax for multivariable Order symbol (v2)

This is an alternative for #2605

Supported input:
 * `O(expr)`
 * `O(expr, (var1, pt1), (var2, pt2), ...)`
 * `O(expr, var1, var2, ...) == O(expr, (var1, 0), (var2, 0), ...)`

- [ ] rebase?