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 11 minutes and 33 seconds
Status Job ID Name Coverage
  Build
passed #236014
build

00:08:34

passed #236019
build_android

00:00:57

passed #236015
build_clang_libcpp

00:02:45

passed #236018
build_clazy

00:11:30

passed #236017
build_mingw64_fedora

00:04:09

passed #236016
build_ubuntu_16_04

00:01:57