Improved padding behavior to preserve size

I wanted a crisper appearance when adding padding, and I noticed that padding was subtracted from the image size. When the QRCode size is automatically determined the padding is not factored in, which means that the destination size for the code is `size - padding * 2`. By adding padding to the destination image size, this allows for near lossless copying of the QRCode and a much sharper appearance.

Example:

```
From (Size - Padding):

|----------- Size -----------|

+----------------------------+ —
|                            | | Padding
|  +----------------------+  | —
|  |                      |  | |
|  |                      |  | |
|  |                      |  | |
|  |                      |  | | Size - Padding
|  |                      |  | |
|  |                      |  | |
|  |                      |  | |
|  +----------------------+  | —
|                            |
+----------------------------+

To (Size + Padding):

+----------------------------+ —
|                            | | Padding
|  +----------------------+  | —
|  |                      |  | |
|  |                      |  | |
|  |                      |  | |
|  |                      |  | | Size
|  |                      |  | |
|  |                      |  | |
|  |                      |  | |
|  +----------------------+  | —
|                            |
+----------------------------+
```