Novas funções para colisão e render

Modificado:
- função para desenhar um retangulo agora recebe mais parametros,
podendo desenhar rotacionado.

Adicionado:
- Novas Funções para desenho. São elas:
void uniDesenharCirculo(int x, int y, float raio, int num_segmentos, int
vermelho = 255, int verde = 255, int azul = 255);
void uniDesenharRetangulo(int x, int y, float rot, int largura, int
altura, float ancora_x, float ancora_y, int vermelho = 255, int verde =
255, int azul = 255);
void uniDesenharPoligono(int x, int y, float rot, Vetor2D* pontos, int
num_pontos, int vermelho = 255, int verde = 255, int azul = 255);

- Novas Funções para Colisão. São elas:
bool uniColisaoPontoComCirculo(float ponto_x, float ponto_y, float
circulo_x, float circulo_y, float raio);
bool uniColisaoPontoComRetangulo(int ponto_x, int ponto_y, int x, int y,
float rot, int largura, int altura, float ancora_x, float ancora_y);
bool uniColisaoPontoComPoligono(float ponto_x, float ponto_y, Vetor2D*
pontos, int num_pontos, float x, float y, float rot);
bool uniColisaoPontoComSprite(float ponto_x, float ponto_y, Sprite* spr,
float x, float y, float rot);
bool uniColisaoLinhaComLinha(float linhaA_x0, float linhaA_y0, float
linhaA_x1, float linhaA_y1, float linhaB_x0, float linhaB_y0, float
linhaB_x1, float linhaB_y1);
bool uniColisaoLinhaComCirculo(float linha_x1, float linha_y1, float
linha_x2, float linha_y2, float circulo_x, float circulo_y, float raio);

bool uniColisaoLinhaComRetangulo(float linha_x1, float linha_y1, float
linha_x2, float linha_y2, int retan_x, int retan_y, float retan_rot, int
retan_largura, int retan_altura, float retan_ancora_x, float
retan_ancora_y);
bool uniColisaoLinhaComPoligono(float linha_x1, float linha_y1, float
linha_x2, float linha_y2, Vetor2D* pontos, int num_pontos, float poli_x,
float poli_y, float poli_rot);
bool uniColisaoLinhaComSprite(float linha_x1, float linha_y1, float
linha_x2, float linha_y2, Sprite* spr, float x, float y, float rot);
bool uniColisaoCirculoComCirculo(float circulo_x1, float circulo_y1,
float raio1, float circulo_x2, float circulo_y2, float raio2);
bool uniColisaoCirculoComRetangulo(float circulo_x, float circulo_y,
float raio, int retan_x, int retan_y, float retan_rot, int
retan_largura, int retan_altura, float retan_ancora_x, float
retan_ancora_y, bool testar_dentro = true);
bool uniColisaoCirculoComPoligono(float circulo_x, float circulo_y,
float raio, Vetor2D* pontos, int num_pontos, float poli_x, float poli_y,
float poli_rot, bool testar_dentro = true);
bool uniColisaoCirculoComSprite(float circulo_x, float circulo_y, float
raio, Sprite* spr, float x, float y, float rot, bool testar_dentro =
true);
bool uniColisaoRetanguloComRetangulo(int x1, int y1, float rot1, int
largura1, int altura1, float ancora_x1, float ancora_y1, int x2, int y2,
float rot2, int largura2, int altura2, float ancora_x2, float ancora_y2,
bool testar_dentro = true);
bool uniColisaoRetanguloComPoligono(int retan_x, int retan_y, float
retan_rot, int retan_largura, int retan_altura, float retan_ancora_x,
float retan_ancora_y, Vetor2D* pontos, int num_pontos, float poli_x,
float poli_y, float poli_rot, bool testar_dentro = true);
bool uniColisaoRetanguloComSprite(int retan_x, int retan_y, float
retan_rot, int retan_largura, int retan_altura, float retan_ancora_x,
float retan_ancora_y, Sprite* spr, float x, float y, float rot, bool
testar_dentro = true);
bool uniColisaoPoligonoComPoligono(Vetor2D* pontos1, int num_pontos1,
float x1, float y1, float rot1, Vetor2D* pontos2, int num_pontos2, float
x2, float y2, float rot2, bool testar_dentro = true);
bool uniColisaoPoligonoComSprite(Vetor2D* pontos, int num_pontos, float
poli_x, float poli_y, float poli_rot, Sprite* spr, float x, float y,
float rot, bool testar_dentro = true);
bool uniColisaoSpriteComSprite(Sprite* spr1, float x1, float y1, float
rot1, Sprite* spr2, float x2, float y2, float rot2, bool testar_dentro =
true);