Add new cards for UI improvement & #26

Alright just as the name says New cards.
This will support our next enchantment.

How does it work?

How do I receive a card view?
```
Card view = ((Card) findViewById(R.id.name_card));
```

The cards do have different methods.
- setContent(int resource)
This adds the content in the card.
```
((Card) findViewById(R.id.details_card)).setContent(R.layout.card_profile_details);
```
- setCardColor(int color)
This will change the card color
Note: use the colors in the colors.xml file
```
((Card) findViewById(R.id.details_card)).setCardColor(R.color.white)
```
- setHeaderColor(int color)
The same usages as the "setCardColor" method
- wrapWidth(Boolean header)
Wraps the card in width
Note: the boolean is used for the header
If it is set on true the card will check also the width of the header.
Note 2: Use only if the card has been fully loaded
```
((Card) findViewById(R.id.details_card)).wrapWidth(false)
```
- wrapHeight()
Wraps the card in height
Note: it is recommended to use the xml attribute.
```
((Card) findViewById(R.id.details_card)).wrapHeight()
```