s5p-fimc: Align imagesize to row size for tiled formats

For tiled format, we need to allocated a multiple of the row size. A good
example is for 1280x720, wich get adjusted to 1280x736. In tiles this mean Y
plane is 20x23 and UV plane 20x12. Because of the rounding, the previous code
would only have enough space to fit half of the last row.
s5p-fimc: Backport bytesperline calculation fix

The supported planar YUV format (YUV420P and YUV422P) has 3 planes, where
the bytesperline for each should be width, widht/2, width/2. It is expected that
width has been aligned to a multiple of 4 to stay word aligned.
s5p-fimc: Iterate for each memory plane

Depth and payload is defined per memory plane. It's better to iterate using
number of memory planes. this was not causing much issue since the rest
of the arrays involved where intialized to zero.
s5p-fimc: Fix YUV422P depth

All YUV 422 has 16bit per pixels.
s5p-fimc: Reuse calculated sizes

This formula did not take into account the required tiled alignement for
NV12MT format. As this was already computed an store in payload array
initially, simply reuse that value.
s5p-fimc: Don't allow application to choose the buffer size

This is not allowed by the spec, and only served the purpose of hiding bugs
in size calculation so far.
Merge pull request #1 from ndufresne/endless

Endless: FIMC driver misc fixes