Fix missing include

Fixes "invalid use of incomplete type 'class Tile'"
Fix ambiguous conversion

Related gcc error: conversion from 'const long int' to 'const value_type {aka const Variant}' is ambiguous
Needs check whether `int' is enough here.
Fix taking address of temporary
Fix reference assigning

Related gcc error: invalid initialization of non-const reference of type 'Picture&' from an rvalue of type 'Picture'
Fix calling template base class constructor
Remove byte order marks from sources
Merge pull request #160 from AMDmi3/gcc-fixes

Fix build errors