cairo: Fix tiling patterns when pattern cell is too far

Rendering of tiling pattern which has pattern matrix moving pattern cell
far away can fail on allocation of memory. This commit solves the issue by
modifying of cairo pattern matrix so that its offset is closer to the path
filled by the pattern.

Fixes #190
6 jobs for far-tiling in 6 minutes and 59 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  Build
passed #374974
build

00:06:58

passed #374979
build_android

00:01:16

passed #374975
build_clang_libcpp

00:06:56

passed #374978
build_clazy

00:05:17

passed #374977
build_mingw64_fedora

00:04:43

passed #374976
build_ubuntu_16_04

00:04:47