Allow user to format aaData before rendering it

Add `format_data_rows` method that checks if the user has set a
`format_data_row` method and maps it to each element of the aaData list.

Also, optimize row formatting, meaning that instead of always executing
a reqex for every field of every row, run it only when we're sure that
we have a formatted field.
Add custom filters support

Also, provide a way to take a django-filter FilterSet as an argument and
use it to filter the data.
Add tests for noServerSide
Add tests for extra
Add test for user row formatting.